package com.demo.java.OD651_700.OD654;

import java.util.Scanner;
import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【银行插队(A卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/147040215
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(); // 输入的操作次数

        // 初始化一个List，包含6个队列，每个队列代表一个优先级
        List<List<Integer>> a = new ArrayList<>();

        // 初始化6个优先级队列
        for (int i = 0; i < 6; i++) {
            a.add(new ArrayList<>());
        }

        // 读取每个操作
        for (int i = 0; i < n; i++) {
            String op = in.next(); // 读取操作类型
            if (op.equals("a")) { // 如果是a操作
                int x = in.nextInt(); // 客户编号
                int y = in.nextInt(); // 优先级
                a.get(y).add(x); // 将客户编号x加入到优先级为y的队列中
            } else { // 如果是p操作
                for (int j = 1; j <= 5; j++) { // 从1级到5级队列检查
                    if (!a.get(j).isEmpty()) { // 如果当前队列不为空
                        System.out.println(a.get(j).remove(0)); // 输出并移除队列中的第一个客户
                        break; // 处理完一个客户后退出循环
                    }
                }
            }
        }
    }
}